//package com.alex.aichattongyiqianwen.controller;
//
//import com.alibaba.dashscope.aigc.generation.Generation;
//import com.alibaba.dashscope.aigc.generation.GenerationParam;
//import com.alibaba.dashscope.common.Message;
//import com.alibaba.dashscope.common.Role;
//import com.alibaba.dashscope.exception.ApiException;
//import com.alibaba.dashscope.exception.InputRequiredException;
//import com.alibaba.dashscope.exception.NoApiKeyException;
//import com.alibaba.dashscope.utils.JsonUtils;
//
//import java.util.Arrays;
//import java.util.Map;
//
//public class MainAlex008 {
//    public static void callWithMessageStream() throws ApiException, NoApiKeyException, InputRequiredException {
//// 创建 Generation 对象
//        Generation gen = new Generation();
//
//
//        // 构建系统消息和用户消息
//        Message systemMsg = Message.builder()
//                .role(Role.SYSTEM.getValue())
//                .content("You are a helpful assistant.")
//                .build();
//        Message userMsg = Message.builder()
//                .role(Role.USER.getValue())
//                .content("今天呼和浩特天气怎么样?")
//                .build();
//
//        // extraBody 参数配置：开启流式输出、联网搜索与深度思考开关
//        Map<String, Object> extraBody = Map.of(
//                "stream", true,
//                "enable_search", true,
//                "enable_thinking", true
//        );
//
//        // 构建请求参数
//        GenerationParam param = GenerationParam.builder()
//                // 若没有配置环境变量，请用百炼 API Key，将此处替换为：.apiKey("sk-xxx")
//                .apiKey(System.getenv("bailian-api"))
//                .model("qwen-plus")
//                .messages(Arrays.asList(systemMsg, userMsg))
//                .resultFormat(GenerationParam.ResultFormat.MESSAGE)
//                .parameters(extraBody)
//                .build();
//
//        // 调用流式输出接口，假设 streamCall 返回一个 Flowable<GenerationResult>
//        // 此处使用 blockingForEach 逐个读取流式返回的每个 chunk，并实时输出 JSON 字符串
//        gen.streamCall(param).blockingForEach(chunk -> {
//            System.out.println(JsonUtils.toJson(chunk));
//        });
//    }
//
//    public static void main(String[] args) {
//        try {
//            callWithMessageStream();
//        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
//            System.err.println("调用生成服务时发生异常: " + e.getMessage());
//        }
//// 结束程序
//        System.exit(0);
//    }
//}